//
//  MultiChannelExperiment.h
//  GPUProcessingTesting
//
//  Created by kadlubek47 on 09.07.2013.
//  Copyright (c) 2013 kadlubek47. All rights reserved.
//

#ifndef __GPUProcessingTesting__MultiChannelExperiment__
#define __GPUProcessingTesting__MultiChannelExperiment__

#include <iostream>
#include "Experiment.h"
#include "Tester.h"

class MultiChannelExperiment: public Experiment<double> {
public:
    
    MultiChannelExperiment();
    
    void carryExperiment() {
        
        const unsigned int blockSize = 512;
        const unsigned int repetition = 5;
        
        //
        pushTrialsSet(      Tester::bufferForEachChannel_testFunction  (6, blockSize, repetition)       );
        pushTrialsSet(      Tester::bufferForEachChannel_testFunction  (1, blockSize, repetition)       );
        
        //
        pushTrialsSet(      Tester::oneBufferForAllChannels_testFunction (6, blockSize, repetition)       );
        pushTrialsSet(      Tester::oneBufferForAllChannels_testFunction (1, blockSize, repetition)       );
        
    }

private:
    const std::string mainDescription_;
    const std::string folderPath_, fileName_;
};

#endif /* defined(__GPUProcessingTesting__MultiChannelExperiment__) */
